from abc import ABC, abstractmethod
from typing import List

from llama_index.core.schema import Document, BaseNode


class NodeParserInterface(ABC):
    """
    一个标准接口，用于将原始文档解析并切分成一系列可处理的节点 (Node)。
    """

    @abstractmethod
    def parse_nodes(self, documents: List[Document]) -> List[BaseNode]:
        """
        将一批文档切分成一系列节点。

        Args:
            documents: 需要进行切分的 LlamaIndex 文档对象列表。

        Returns:
            一个列表，其中包含了从文档中切分出的所有节点 (例如 TextNode)。
        """
        pass 